m4_dnl vim: ft=bib expandtab shiftwidth=4

@inproceedings{shomrat:aosd02,
    title           = {Obvious or Not? {Regulating} Architectural Decisions Using Aspect-Oriented Programming},
    author          = {Mati Shomrat and Amiram Yehudai},
    pages           = {3-9},
    crossref        = {:aosd02}
}

@inproceedings{bryant:aosd02,
    title           = {Explicit Programming},
    author          = {Avi Bryant and Andrew Catton and De Volder, Kris and Gail Murphy},
    pages           = {10-18},
    crossref        = {:aosd02}
}

@inproceedings{sullivan:aosd02,
    title           = {Non-modularity in Aspect-Oriented Languages: {Integration} as a Crosscutting Concern for {AspectJ}},
    author          = {Kevin Sullivan and Lin Gu and Yuanfang Cai},
    pages           = {19-27},
    crossref        = {:aosd02}
}

@inproceedings{sihman:aosd02,
    title           = {A Calculus of Superimpositions for Distributed Systems},
    author          = {Marcelo Sihman and Shmuel Katz},
    pages           = {28-40},
    crossref        = {:aosd02}
}

@inproceedings{lammel:aosd02,
    title           = {A Semantical Approach to Method-call Interception},
    author          = {Ralf Lämmel},
    pages           = {41-55},
    crossref        = {:aosd02}
}

@inproceedings{orleans:aosd02,
    title           = {Incremental Programming with Extensible Decisions},
    author          = {Doug Orleans},
    pages           = {56-64},
    crossref        = {:aosd02}
}

@inproceedings{duclos:aosd02,
    title           = {Describing and Using Non Functional Aspects in Component Based Applications},
    author          = {Frederic Duclos and Jacky Estublier and Philippe Morat},
    pages           = {65-75},
    crossref        = {:aosd02}
}

@inproceedings{cardone:aosd02,
    title           = {Using Mixins to Build Flexible Widgets},
    author          = {Richard Cardone and Adam Brown and Sean McDirmid and Calvin Lin},
    pages           = {76-85},
    crossref        = {:aosd02}
}

@inproceedings{baker:aosd02,
    title           = {Runtime Aspect Weaving Through Metaprogramming},
    author          = {Jason Baker and Wilson Hsieh},
    pages           = {86-98},
    crossref        = {:aosd02}
}

@inproceedings{ho:aosd02,
    title           = {A Toolkit for Weaving Aspect Oriented {UML} Designs},
    author          = {Wai-Ming Ho and Jean-Marc Jézéquel and François Pennaneac'h and Noël Plouzeau},
    pages           = {99-105},
    crossref        = {:aosd02}
}

@inproceedings{stein:aosd02,
    title           = {An {UML}-based Aspect-Oriented Design Notation},
    author          = {Dominik Stein and Stefan Hanenberg and Rainer Unland},
    pages           = {106-112},
    crossref        = {:aosd02}
}

@inproceedings{clarke:aosd02,
    title           = {Towards a Standard Design Language for {AOSD}},
    author          = {Siobhán Clarke and Robert Walker},
    pages           = {113-119},
    crossref        = {:aosd02}
}

@inproceedings{baniassad:aosd02,
    title           = {Managing Crosscutting Concerns During Software Evolution Tasks: {An} Inquisitive Study},
    author          = {Elisa Baniassad and Gail Murphy and Christa Schwanninger and Michael Kircher},
    pages           = {120-126},
    crossref        = {:aosd02}
}

@inproceedings{sutton:aosd02,
    title           = {Modeling of Software Concerns in {Cosmos}},
    author          = {Sutton, Jr., Stanley and Isabelle Rouvellou},
    pages           = {127-133},
    crossref        = {:aosd02}
}

@inproceedings{pinto:aosd02,
    title           = {Separation of Coordination in a Dynamic Aspect Oriented Framework},
    author          = {Mónica Pinto and Lidia Fuentes and Mohamed Fayad and Jose María Troya},
    pages           = {134-140},
    crossref        = {:aosd02}
}

@inproceedings{popovici:aosd02,
    title           = {Dynamic Weaving for Aspect-Oriented Programming},
    author          = {Andrei Popovici and Thomas Gross and Gustavo Alonso},
    pages           = {141-147},
    crossref        = {:aosd02}
}

@inproceedings{ubayashi:aosd02,
    title           = {Aspect Oriented Programming with Model Checking},
    author          = {Naoyasu Ubayashi and Tetsuo Tamai},
    pages           = {148-154},
    crossref        = {:aosd02}
}

@proceedings{:aosd02,
    title           = {_proc(1st _int _conf,_aosd,{AOSD}-2002)},
    booktitle       = {_proc(1st _int _conf,_aosd,{AOSD}-2002)},
    editor          = {Gregor Kiczales},
    publisher       = {_acm},
    year            = 2002,
    month           = apr,
_start_extra
    location        = {Enschede, The Netherlands}
_stop
}

@inproceedings{brichau:gpce02,
    author          = {Johan Brichau and Kim Mens and De Volder, Kris},
    title           = {Building Composable Aspect-Specific Languages with Logic Metaprogramming},
    pages           = {110-127},
    crossref        = {:gpce02},
}

@inproceedings{douence:gpce02,
    title           = {A Framework for the Detection and Resolution of Aspect Interactions},
    author          = {Rémi Douence and Pascal Fradet and Mario Südholt},
    pages           = {173-188},
    crossref        = {:gpce02},
}

@proceedings{:gpce02,
    editor          = {Don Batory and Charles Consel and Walid Taha},
    title           = {_proc(1st ACM SIGPLAN/SIGSOFT _conf,_gpce,{GPCE}-2002)},
    booktitle       = {_proc(1st ACM SIGPLAN/SIGSOFT _conf,_gpce,{GPCE}-2002)},
    month           = oct,
    publisher       = {_sv},
    series          = {_lncs},
    volume          = 2487,
    year            = 2002,
_start_extra
    location        = {Pittsburgh, PA}, 
    isbn            = {3-540-44284-7},
_stop
}

@inproceedings{mezini:oopsla02,
    author          = {Mira Mezini and Klaus Ostermann},
    title           = {Integrating independent components with on-demand remodularization},
    pages           = {52--67},
    crossref        = {:oopsla02},
_start_extra
    doi             = {http://doi.acm.org/10.1145/582419.582426},
    abstract        = {This paper proposes language concepts that facilitate the separation of an application into independent reusable building blocks and the integration of pre-build generic software components into applications that have been developed by third party vendors. A key element of our approach are on-demand remodularizations, meaning that the abstractions and vocabulary of an existing code base are translated into the vocabulary understood by a set of components that are connected by a common collaboration interface. This general concept allows us to mix-and-match remodularizations and components on demand.},
    keywords        = {aspect-oriented programming, collaboration-based decomposition, on-demand remodularization}
_stop
}

@inproceedings{hannemann:oopsla02,
    author          = {Jan Hannemann and Gregor Kiczales},
    title           = {Design pattern implementation in {Java} and {AspectJ}},
    pages           = {161--173},
    crossref        = {:oopsla02},
_start_extra
    doi             = {http://doi.acm.org/10.1145/582419.582436},
    abstract        = {AspectJ implementations of the GoF design patterns show modularity improvements in 17 of 23 cases. These improvements are manifested in terms of better code locality, reusability, composability, and (un)pluggability.The degree of improvement in implementation modularity varies, with the greatest improvement coming when the pattern solution structure involves crosscutting of some form, including one object playing multiple roles, many objects playing one role, or an object playing roles in multiple pattern instances.},
    keywords        = {aspect-oriented programming, design patterns}
_stop
}

@inproceedings{soares:oopsla02,
    author          = {Sérgio Soares and Eduardo Laureano and Paulo Borba},
    title           = {Implementing distribution and persistence aspects with {AspectJ}},
    pages           = {174--190},
    crossref        = {:oopsla02},
_start_extra
    doi             = {http://doi.acm.org/10.1145/582419.582437},
    abstract        = {This paper reports our experience using AspectJ, a general-purpose aspect-oriented extension to Java, to implement distribution and persistence aspects in a web-based information system. This system was originally implemented in Java and restructured with AspectJ. Our main contribution is to show that AspectJ is useful for implementing several persistence and distribution concerns in the application considered, and other similar applications. We have also identified a few drawbacks in the language and suggest some minor modifications that could significantly improve similar implementations. Despite the drawbacks, we argue that the AspectJ implementation is superior to the pure Java implementation. Some of the aspects implemented in our experiment are abstract and constitute a simple aspect framework. The other aspects are application specific but we suggest that different implementations might follow the same aspect pattern. The framework and the pattern allow us to propose architecture-specific guidelines that provide practical advice for both restructuring and implementing certain kinds of persistent and distributed applications with AspectJ.},
    keywords        = {aspect-oriented programming, aspectJ, distributed programming, object persistence, separation of concerns}
_stop
}

@proceedings{:oopsla02,
    title           = {_proc(17th ACM _conf,`_oopsla',{OOPSLA}-2002)},
    booktitle       = {_proc(17th ACM _conf,`_oopsla',{OOPSLA}-2002)},
    editor          = {Satoshi Matsuoka},
    publisher       = {_acm},
    year            = 2002,
    month           = nov,
_start_extra
    location        = {Seattle, WA},
    isbn            = {1-58113-471-1}
_stop
}

@phdthesis{pawlak:phd02,
    author          = {Renaud Pawlak},
    title           = {Interaction-based Aspect Oriented Programming for the construction of multiple concern applications},
    school          = {CNAM Paris},
    month           = dec,
    year            = 2002
}

@inproceedings{hirschfeld:nod02,
    crossref        = {:nod02},
    title           = {{AspectS}: {Aspect}-Oriented Programming with {Squeak}},
    author          = {Robert Hirschfeld},
    pages           = {216-232},
_start_extra
    url             = {http://net.objectdays.org/pdf/02/papers/node/0217.pdf},
    abstract        = {AspectS is an approach to general-purpose aspect-oriented programming in the Squeak/Smalltalk environment. Based on concepts of AspectJ it extends the Smalltalk MOP to accommodate the aspect modularity mechanism. In contrast to systems like AspectJ, weaving and unweaving in AspectS happens dynamically at runtime, on-demand, employing metaobject composition. Instead of introducing new language constructs, AspectS utilizes the expressiveness of Smalltalk itself as a pointcut language.}
_stop
}

@inproceedings{loughran:nod02,
    crossref        = {:nod02},
    title           = {Relational Database Support for Aspect-Oriented Programming},
    author          = {Neil Loughran and Awais Rashid},
    pages           = {233-247},
_start_extra
    url             = {http://net.objectdays.org/pdf/02/papers/node/0234.pdf},
    abstract        = {Code repositories play a central role in the reuse and mining of existing assets when engineering large, complex software systems. It is, therefore, essential that database support be extended to new programming paradigms as and when they emerge. This paper proposes an approach to support the storage, reuse and mining of aspects - constructs used in Aspect-Oriented Programming (AOP) to separate crosscutting concerns - in AspectJ (an aspect language for Java) using a relational database. The approach is based on mapping an aspect's anatomy to the relational model hence allowing fine-grained queries to be composed. This results in greater flexibility during search and retrieval in contrast with most existing code repositories which store the code as BLObs comple-mented by meta-data about the code.}
_stop
}

@inproceedings{herrmann:nod02,
    crossref        = {:nod02},
    title           = {{Object Teams}: {Improving} Modularity for Crosscutting Collaborations},
    author          = {Stephan Herrmann},
    pages           = {248-264},
_start_extra
    url             = {http://net.objectdays.org/pdf/02/papers/node/0249.pdf},
    abstract        = {In this paper, we investigate whether module concepts for capturing multiobject collaborations can effectively be used to implement crosscutting concerns in reusable, independently developed modules for a-posteriori integration into existing systems. To address the shortcomings that we identify, a new kind of collaboration module, called Object Teams, is proposed, which combines the best features of existing approaches, further advances them with concepts for expressing crosscutting relations between independent collaborations, and facilitates a-posteriori integration of such collaborations into existing systems.}
_stop
}

@proceedings{:nod02,
    editor          = {Mehmet Akşit and Mira Mezini and Rainer Unland},
    title           = {Objects, Components, Architectures, Services, and Applications for a Networked World ({NODe} 2002)},
    booktitle       = {Objects, Components, Architectures, Services, and Applications for a Networked World ({NODe} 2002)},
    year            = 2003,
    volume          = 2591,
    series          = {_lncs},
    address         = {Berlin},
    publisher       = {_sv},
_start_extra
    location        = {Erfurt},
_stop
}

@inproceedings{robillard:icse02,
    author          = {Martin P. Robillard and Gail C. Murphy},
    title           = {{Concern Graphs}: {Finding} and Describing Concerns Using Structural Program Dependencies},
    booktitle       = {_proc(24th _int _conf,_se,{ICSE}-2002)},
    editor          = {Jeff Magee and Michal Young},
    year            = 2002,
    publisher       = {_acm},
    month           = may,
    pages           = {406-416},
_start_extra
    location        = {Orlando, FL},
    isbn            = {1-58113-472-X}
_stop
}


